#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>


#define FIFO_PATH "wifi_fifo"

int main() {

    // 检查管道文件是否存在
    if (access(FIFO_PATH, F_OK) == 0) {
        printf("命名管道 %s 已存在。\n", FIFO_PATH);
    }
	// 创建管道
	else if (mkfifo(FIFO_PATH, 0664) == -1) {
        perror("mkfifo");
        return 1;
    }


    int fd;
    char buffer[256];

    // 打开命名管道（写模式）
    fd = open(FIFO_PATH, O_WRONLY);
    if (fd == -1) {
        perror("open");
        return 1;
    }

    // 发送命令
    const char *command = "enable_wifi";
    if (write(fd, command, strlen(command)) == -1) {
        perror("write");
        close(fd);
        return 1;
    }
    printf("发送命令: %s\n", command);

    // 关闭管道
    close(fd);

    // 打开命名管道（读模式）
    fd = open(FIFO_PATH, O_RDONLY);
    if (fd == -1) {
        perror("open");
        return 1;
    }

    // 接收反馈
    if (read(fd, buffer, sizeof(buffer)) == -1) {
        perror("read");
        close(fd);
        return 1;
    }
    printf("接收反馈: %s\n", buffer);

    // 关闭管道
    close(fd);

    return 0;
}
